/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 * No deletion without permission, or be held responsible to law.
 * @author YDZ
 */
import { defHttp } from '/@/utils/http/axios';
import { useGlobSetting } from '/@/hooks/setting';
import { BasicModel, Page, TreeDataModel } from '../model/baseModel';

const { adminPath } = useGlobSetting();

export interface BasVendor extends BasicModel<BasVendor> {
  venCode?: string; // 供应商编码
  venName?: string; // 供应商名称
  venAbbname?: string; // 供应商简称
  vccode?: string; // 供应商分类编码
  dccode?: string; // 地区编码
  ctrade?: string; // 所属行业
  venAddress?: string; // 地址
  venPostCode?: string; // 邮政编码
  venRegCode?: string; // 纳税人登记号
  venBank?: string; // 开户银行
  venAccount?: string; // 银行账号
  venDevDate?: string; // 发展日期
  venLperson?: string; // 法人
  venPhone?: string; // 电话
  venFax?: string; // 传真
  venEmail?: string; // Email地址
  venPerson?: string; // 联系人
  venBp?: string; // 呼机
  venHand?: string; // 手机
  venPperson?: string; // 专管业务员编码
  venDisRate?: number; // 扣率
  venCreGrade?: string; // 信用等级
  venCreLine?: number; // 信用额度
  venCreDate?: number; // 信用期限
  venPayCond?: string; // 付款条件编码
  venLaddress?: string; // 到货地址
  venLtype?: string; // 发运方式编码
  venHeadCode?: string; // 供应商总公司编码
  venWhCode?: string; // 仓库编码
  venDepart?: string; // 编码编码
  iapMoney?: number; // 应付余额
  dlastDate?: string; // 最后交易日期
  ilastMoney?: number; // 最后交易金额
  dlrDate?: string; // 最后付款日期
  ilrMoney?: number; // 最后付款金额
  dendDate?: string; // 停用日期
  ifreQuency?: number; // 停用额度
  venTax?: string; // 单价是否含税
  createPerson?: string; // 建档人
  modifyPerson?: string; // 变更人
  modifyDate?: string; // 变更日期
  relCustomer?: string; // 对应客户编码
  iid?: number; // 所属权限组
  barCode?: string; // 对应条形码编码
}

export const basVendorList = (params?: BasVendor | any) =>
  defHttp.get<BasVendor>({ url: adminPath + '/bas/ven/list', params });

export const basVendorListData = (params?: BasVendor | any) =>
  defHttp.post<Page<BasVendor>>({ url: adminPath + '/bas/ven/listData', params });

export const basVendorForm = (params?: BasVendor | any) =>
  defHttp.get<BasVendor>({ url: adminPath + '/bas/ven/form', params });

export const basVendorSave = (params?: any, data?: BasVendor | any) =>
  defHttp.postJson<BasVendor>({ url: adminPath + '/bas/ven/save', params, data });

export const basVendorDelete = (params?: BasVendor | any) =>
  defHttp.get<BasVendor>({ url: adminPath + '/bas/ven/delete', params });
